/*
 * @Author: LiJia
 * @Date: 2021-03-04 18:59:52
 * @LastEditTime: 2021-04-03 13:13:52
 * @LastEditors: LiJia
 * @Description: Description
 * @FilePath: \class-manage-system\miniprogram\app.ts
 */
// app.ts
App<IAppOption>({
  globalData: {},
  onLaunch() {
    // 小程序秘钥、appid
    // const SECRET = '5edf9df10da1d3a6f2a94377e8c8628f'
    // const APPID = 'wx4305b17d5291a7d7'
    // 后端接口域名
    const apiUrl = 'http://localhost:3333'
    wx.setStorageSync('apiUrl', apiUrl)

    // 展示本地存储能力
    const logs = wx.getStorageSync('logs') || []
    logs.unshift(Date.now())
    wx.setStorageSync('logs', logs)

    // 登录
    wx.login({
      success: res => {
        console.log(res.code)
        const apiUrl = wx.getStorageSync('apiUrl')
        let that = this
        // 发送 res.code 到后台换取 openId, sessionKey, unionId
        wx.request({
          url: apiUrl + '/login',
          data: {
            code: res.code
          },
          header: {
            'content-type':'application/json' // 默认值
          },
          success(res) {
            console.log(res)
            let _resData = res.data as any
            if (res.statusCode === 404) {
              console.error("请求非法！")
            } else {
              if (_resData.err) {
                if (_resData.openid) {
                  (that as any).globalData.clsUserInfo.openid = _resData.openid
                }
              } else {
                that.globalData.clsUserInfo = { ...that.globalData.clsUserInfo, ..._resData }
              }
            }
          },
          fail(err) {
            that.globalData.clsUserInfo = {}
            console.error(err)
            wx.showToast({
              title: "服务器失去连接",
              icon: "none",
              duration: 2021
            })
          },
          complete() {}
        })
      },
    })
    // 获取用户信息 废弃
    // wx.getSetting({
    //   success: res => {
    //     debugger
    //     if (res.authSetting['scope.userInfo']) {
    //       // 已经授权，可以直接调用 getUserInfo 获取头像昵称，不会弹框
    //       debugger
    //       wx.getUserProfile({
    //         success: (res: any) => {
    //           debugger
    //           // 可以将 res 发送给后台解码出 unionId
    //           this.globalData.userInfo = res.userInfo
    //           this.globalData.clsUserInfo = { ...this.globalData.clsUserInfo, ...res.userInfo }

    //           // 由于 getUserInfo 是网络请求，可能会在 Page.onLoad 之后才返回
    //           // 所以此处加入 callback 以防止这种情况
    //           if (this.userInfoReadyCallback) {
    //             this.userInfoReadyCallback(res)
    //           }
    //         },
    //       })
    //     }
    //     wx.getUserProfile({
    //       success: (res: any) => {
    //         console.log(res)
    //       }
    //     })
    //   },
    // })
  },
})